The present invention relates generally to data communication networks, and, more particularly, to error recovery in a mixed protocol network.
In today""s information age, data communication networks are becoming ever more pervasive as an ever-increasing number of communication consumers require access to on-line computer resources. To that end, many data communication networks are evolving to meet the needs of these communication consumers. As these data communication networks evolve, it often becomes necessary to combine or integrate network segments that support different communication protocols.
The most common problem that arises when integrating or combining network segments that utilize different protocols is that the devices on one network segment using a first communication protocol do not communicate with the devices on another network segment using a second communication protocol. One solution is to convert or replace devices so that all devices utilize a common communication protocol. Unfortunately, this is often expensive, time-consuming, and disruptive to the network users. Furthermore, such conversion or replacement often requires that end-user applications be changed, which can further complicate the integration process and force end-users to learn new applications. Thus, a need has remained for a translation function that allows the devices utilizing the first communication protocol to communicate with the devices using the second communication protocol.
In accordance with one aspect of the invention, a method, translating apparatus, apparatus comprising a computer readable medium, and system for error recovery in a mixed protocol network includes a translation function that communicates with a first device using a first communication protocol and a second device using a second communication protocol. When the translation function determines that a connection failure occurred between the translation function and the second device, the translation function completes a first link reset procedure with the first device to suspend data flow between the first device and the translation function, completes a connection establishment procedure with the second device to establish a connection between the translation function and the second device, and then completes a second link reset procedure with the first device to enable data flow between the first device and the translation function.
In one exemplary embodiment, the translation function determines that a connection failure occurred when an attempt to establish a connection between the translation function and the second device fails.
In another exemplary embodiment, the translation function determines that a connection failure occurred when an existing connection between the translation function and the second device fails.
In yet another exemplary embodiment, the translation function determines that a connection failure occurred when an existing connection between the translation function and the second device is explicitly terminated.
In a preferred embodiment of the invention, the first communication protocol is an X.25 protocol. In such a preferred embodiment, completing the first link reset procedure with the first device to suspend data flow between the first device and the translation function involves transmitting to the first device an X.25 reset message indicating that the network is out of order and receiving from the first device an X.25 confirm message. Also in such a preferred embodiment, completing the second link reset procedure with the first device to enable data flow between the first device and the translation function involves transmitting to the first device an X.25 reset message indicating that the network is operational and receiving from the first device an X.25 confirm message.
In a preferred embodiment of the invention, the second communication protocol is a Transmission Control Protocol (TCP). In such a preferred embodiment, completing the connection establishment procedure with the second device to establish a connection between the translation function and the second device involves transmitting to the second device a first TCP SYN message, receiving from the second device a second TCP SYN message, and transmitting to the second device a TCP SYN/ACK message.